A General Persistent Code Caching Framework for Dynamic Binary Translation (DBT)
نویسندگان
چکیده
Dynamic binary translation (DBT) translates binary code from one instruction set architecture (ISA) to another (same or different) ISA at runtime, which makes it very useful in many applications such as system virtualization, whole program analysis, system debugging, and system security. Many techniques have been proposed to improve the efficiency of DBT systems for long-running and loop-intensive applications. However, for applications with short running time or long-running but with few hot code regions such as JavaScript and C# applications in web services, such techniques have difficulty in amortizing the overhead incurred during binary translation. To reduce the translation overhead for such applications, this paper presents a general persistent code caching framework, which allows the reuse of translated binary code across different executions for the same or different applications. Compared to existing approaches, the proposed approach can seamlessly handle even dynamically generated code, which is very popular in script applications today. A prototype of the proposed framework has been implemented in an existing retargetable DBT system. Experimental results on a list of applications, including C/C++ and JavaScript, demonstrate that it can achieve 76.4% performance improvement on average compared to the original DBT system without helper threads for dynamic binary translation, and 9% performance improvement on average over the same DBT system with helper threads when code reuse is combined with help threads.
منابع مشابه
A Translation Framework for Executing the Sequential Binary Code on CPU/GPU Based Architectures
The method of using DBT (dynamic binary translation) to execute the source ISAs binary code on target platforms has been perplexed by low overhead for many years. GPU as a many-core processor has tremendous computational power. Employing GPU as a coprocessor to parallel execute the hot spot of binary code hold a great promise of substantially reduce the overhead of DBT. This paper presents a no...
متن کاملUnleashing the Potential Impact of Nonessential Self-contained Software Units and Flexible Precedence Relations upon the Value of Software
The method of using DBT (dynamic binary translation) to execute the source ISAs binary code on target platforms has been perplexed by low overhead for many years. GPU as a many-core processor has tremendous computational power. Employing GPU as a coprocessor to parallel execute the hot spot of binary code hold a great promise of substantially reduce the overhead of DBT. This paper presents a no...
متن کاملA dynamic binary translation system in a client/server environment
With rapid advances in mobile computing, multi-core processors and expanded memory resources are being made available in new mobile devices. This trend will enable a wider range of existing applications to be migrated to mobile devices, for example, running desktop applications in IA-32 (x86) binaries on ARM-based mobile devices transparently using dynamic binary translation (DBT). However, the...
متن کاملA Dynamic-Static Combined Code Layout Reorganization Approach for Dynamic Binary Translation
Dynamic binary translation (DBT) has attracted much attention as a powerful technique for the runtime adaptation of software among different ISAs. It offers unprecedented flexibility in the control and modification of a program during the runtime. However, its inherent high overhead has perplexed researchers for many years. In order to reduce the overhead of DBT, this paper presents a dynamic-s...
متن کاملMTCrossBit: A Dynamic Binary Translation System Using Multithreaded Optimization Framework
Conventional optimization algorithms which are widely used in static compiler—including peephole, instruction selection, Graph coloring register allocation, and so on—cannot be effectively implemented in DBT (Dynamic Binary Translation) system since they bring too much overhead in run time. MTCrossBit is an experimental-multithreaded DBT optimization framework which utilizes an extra thread for...
متن کامل